package com.hivekion.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hivekion.common.entity.TreeNode;
import com.hivekion.system.domain.BaseArea;
import com.hivekion.system.domain.vo.BaseAreaCreateInputVo;
import com.hivekion.system.domain.vo.BaseAreaModelVo;
import com.hivekion.system.domain.vo.BaseAreaUpdateInputVo;
import com.hivekion.system.domain.vo.BaseAreaViewVo;

import java.util.List;

public interface IBaseAreaService extends IService<BaseArea> {
    List<BaseAreaViewVo> getAreaList(String parentId);

    Boolean add(BaseAreaCreateInputVo vo);

    Boolean edit(BaseAreaUpdateInputVo vo);

    Boolean remove(String id);

    BaseAreaModelVo getInfo(String key);

    boolean checkAreaNameUnique(String key, String areaName);

    boolean checkAreaCodeUnique(String key, String areaCode);

    List<TreeNode> getTreeNodes();
}
